package com.x.service.user;

import com.x.bean.Achievement;
import com.x.bean.User;

import java.sql.Connection;
import java.sql.SQLException;
import java.util.List;

/**
 * @author 13925
 */
public interface UserService {

    /**
     * login 用户登陆
     * @param code 用户编号
     * @param password 密码
     * @param grade 等级
     * @return 返回用户类
     */
    public User login(String code, String password, int grade);



    /**
     * 增加用户
     * @param user 用户类
     * @return 返回布尔值
     * @throws SQLException 抛出异常
     */
    public boolean addUser(User user) throws SQLException;



    /**
     * 根据用户编号删除用户
     * @param code
     * @return
     */
    public boolean deleteUserByCode(String code);



    /**
     * 更新用户信息
     * @param user
     * @return
     */
    public boolean updateUser(User user);



    /**
     *通过用户编号获得用户信息
     * @param code
     * @return
     */
    public User getUserByCode(String code);



    /**
     * 查询所有用户信息
     * @return List<User>
     */
    public List<User> getUserList();


    /**
     * 增加成绩
     * @param achievement 成绩类
     * @return 布尔值
     * @throws SQLException 抛出异常
     */
    public boolean addAchievement(Achievement achievement) throws SQLException;


    /**
     * 通过用户编号和课程名删除成绩
     * @param code 用户编号
     * @param courseName 课程名
     * @return 布尔值
     */
    public boolean deleteAchievementByCodeAndCourseName(String code, String courseName);


    /**
     * 修改成绩
     * @param achievement 成绩类
     * @return int
     */
    public boolean updateAchievement(Achievement achievement);


    /**
     * 列出学生成绩信息
     * @param code 用户编号
     * @return List
     */
    public List<Achievement> getAchievementByCode(String code);

}
